package com.tgy.greedy;

import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;

/**
 * @Author: tgy
 * @Date: 2020-11-04 11:57
 *
 * 有一批集装箱要装上一艘载重量为c的轮船。其中集装箱i的重量为Wi。最优装载问题要求确定在装载体积不受限制的情况下，将尽可能多的集装箱装上轮船。
 *
 */
public class LoadGoods {

    private Integer[] weights = {3, 5, 4, 10, 7, 14, 2, 11};


    public List<Integer> load(int bag) {

        if (bag <= 0) {

            return null;
        }

        LinkedList<Integer> nums = new LinkedList<>();


        Arrays.sort(weights);

        for (int i = 0; i < weights.length; i++) {

            if (bag >= weights[i]) {

                bag -= weights[i];
                nums.add(weights[i]);
            }else {

                break;
            }
        }

        return nums;
    }

}
